package Exception;

import java.util.ArrayList;

public class ExceptionVM extends Exception{

	private String agentName;
	private int tuplesToReturn;
	private double machineCost;
	private float sloValue;
	private String ipAgent;
	private int port;
	private float costTuple;
	private ArrayList<String> transaction;
	private double penalty;
	private float timeMonitoring;
	private float costMonitoring;
	
	public ExceptionVM(double penalty,String agentName, int tuplesToReturn, double machineCost,
			float sloValue,String ipAgent, int port, float costTuple,
			ArrayList<String> transaction, float timeMonitoring, float costMonitoring) {
		super("Nao conseguira atender o SLA!");
		this.setPenalty(penalty);;
		this.sloValue = sloValue;
		this.ipAgent = ipAgent;
		this.port = port;
		this.transaction= transaction;
		this.costTuple = costTuple;
		this.agentName = agentName;
		this.tuplesToReturn = tuplesToReturn;
		this.machineCost = machineCost;
		this.setTimeMonitoring(timeMonitoring);
		this.setCostMonitoring(costMonitoring);
	}

	public String getagentName() {
		return agentName;
	}

	public void setagentName(String agentName) {
		this.agentName = agentName;
	}

	public int getTuplesToReturn() {
		return tuplesToReturn;
	}

	public void setTuplesToReturn(int tuplesToReturn) {
		this.tuplesToReturn = tuplesToReturn;
	}

	public double getMachineCost() {
		return machineCost;
	}

	public void setMachineCost(double machineCost) {
		this.machineCost = machineCost;
	}

	public float getSloValue() {
		return sloValue;
	}

	public void setSloValue(float sloValue) {
		this.sloValue = sloValue;
	}

	public String getIpAgent() {
		return ipAgent;
	}

	public void setIpAgent(String ipAgent) {
		this.ipAgent = ipAgent;
	}

	public int getPort() {
		return port;
	}

	public void setPort(int port) {
		this.port = port;
	}

	public float getCostTuple() {
		return costTuple;
	}

	public void setCostTuple(float costTuple) {
		this.costTuple = costTuple;
	}

	public ArrayList<String> getTransaction() {
		return transaction;
	}

	public void setTransaction(ArrayList<String> transaction) {
		this.transaction = transaction;
	}

	public double getPenalty() {
		return penalty;
	}

	public void setPenalty(double penalty) {
		this.penalty = penalty;
	}

	public float getCostMonitoring() {
		return costMonitoring;
	}

	public void setCostMonitoring(float costMonitoring) {
		this.costMonitoring = costMonitoring;
	}

	public float getTimeMonitoring() {
		return timeMonitoring;
	}

	public void setTimeMonitoring(float timeMonitoring) {
		this.timeMonitoring = timeMonitoring;
	}

}
